/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package org.monopoly.core;

import java.util.ArrayList;
import org.monopoly.comunicazione.Messaggio;
import org.monopoly.comunicazione.Utente;

/**
 *
 * @author Administrator
 */


public class Partita {

    private static int idGeneratore = 0;
    private int id = idGeneratore;
//    private String valuta;
//    private String nazione;
//    private int turno;

    private Utente turno = null;
    private Utente proprietario;

    private ArrayList<Utente> giocatori = new ArrayList<Utente>();
    private int numeroGiocatori;

    public Partita(Utente proprietario, int numeroGiocatori) {
        this.proprietario = proprietario;
        giocatori.add(proprietario);
        this.numeroGiocatori = numeroGiocatori;
        //Bisogna informare tutti della nuova partita
        idGeneratore++;
        id = idGeneratore;
    }

    public void addGiocatore(Utente u){
        giocatori.add(u);
        Messaggio m = new Messaggio();
        m.setAzione("EntraPartita");
        m.getParametri().put("IDPartita", String.valueOf(id));
        m.getParametri().put("Utente", u.getUsername());
        if(giocatori.size() == numeroGiocatori){
            iniziaPartita();
        }
    }

    private void iniziaPartita(){
        
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public Utente getProprietario() {
        return proprietario;
    }

    public void setProprietario(Utente proprietario) {
        this.proprietario = proprietario;
    }

    public Utente getTurno() {
        return turno;
    }

    public void setTurno(Utente turno) {
        this.turno = turno;
    }

    

//    public Partita(String valuta,String nazione, int turno){
//        valuta = v;
//        nazione = n;
//        turno = t;
//    }

//    public Utenti[*] getUtenti(){
//
//    }
//
//    public void setUtenti(Utenti val[*]){
//
//    }
//
//    public Terreni[*] getTerreni(){
//
//    }
//
//    public void setTerreni(Terreni val[*]){
//
//    }

//    public int getId() {
//        return id;
//    }
//
//    public void setId(int id) {
//        this.id = id;
//    }
//
//    public String getNazione() {
//        return nazione;
//    }
//
//    public void setNazione(String nazione) {
//        this.nazione = nazione;
//    }
//
//    public int getTurno() {
//        return turno;
//    }
//
//    public void setTurno(int turno) {
//        this.turno = turno;
//    }
//
//    public String getValuta() {
//        return valuta;
//    }
//
//    public void setValuta(String valuta) {
//        this.valuta = valuta;
//    }

//    public PartitaUtente[*] getPartitaUtente(){
//
//    }
//
//    public void setPartitaUtente(PartitaUtente val[*]){
//
//    }

    
}
